package com.itshare.video.util.dfa;

import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.dfa.SensitiveUtil;
import com.itshare.video.common.web.WebUtil;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;

import java.io.BufferedReader;
import java.util.Arrays;
import java.util.List;

/**
 * @Author lyr
 * @create 2020/11/1 17:42
 */
@Lazy
@Component

public class DfaUtil {

    // private WordTree wordTree = new WordTree();
    // private volatile boolean isOk= false;
    //
    // {
    //     loadAllWord();
    // }
    //
    //
    // private void loadAllWord() {
    //     BufferedReader reader = ResourceUtil.getUtf8Reader("dfa/word.txt");
    //     String txt = WebUtil.toStr(reader);
    //     String[] result = txt.split("\r\n");
    //     for (String s: result) {
    //         // System.out.println(s);
    //         wordTree.addWord(s.trim());
    //     }
    //
    // }
    //
    // public WordTree getWordTree() {
    //     return wordTree;
    // }

    {
        loadAllWord();
    }
    private void loadAllWord() {
        BufferedReader reader = ResourceUtil.getUtf8Reader("dfa/word.txt");
        String txt = WebUtil.toStr(reader);
        String[] result = txt.split("\r\n");
        SensitiveUtil.init(Arrays.asList(result));

    }

    public List<String> getWord(String txt) {
        return SensitiveUtil.getFindedAllSensitive(txt,true,false);
    }


}
